package com.kfm.base.function;

import java.util.Arrays;
import java.util.Scanner;

public class Demo04 {

    public static void main(String[] args) {
        /*
          定义方法：   [方法修饰符]  方法头  方法体
            方法头：  返回值类型  方法名([参数列表])

           返回值类型, 返回值类型表示当前方法执行完后会返回一个结果，这个结果的类型就是声明时设置的类型
           return 值; 值得类型必须和声明的类型一致

           例如： public static int sum(){} 此方法返回值类型为 int 表示调用这个后会返回一个 int 类型的值
           在方法体中用 return 关键字后紧跟一个值表示将值返回给调用处

            void 表示无返回值，则不需要在方法体中使用 return 返回值.

            目前方法正常执行结束有三种情况：
            1. 所有代码正常执行吗
            2. 执行了 return 语句
            3. System.exit(value);【特例】

            异常执行结束:
            1. 代码执行过程中发生异常
         */
//        int[] num = flower();
//        System.out.println(Arrays.toString(num));

        int[] nums = new int[5];
        for (int i = 0; i < 5; i++) {
//            int num = input();
//            nums[i] = num;
            nums[i] = input();
        }

        System.out.println(Arrays.toString(nums));

    }


    public static int input(){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入成绩:");
//        return sc.nextInt();
        int n = sc.nextInt();
        return n;
    }

    /**
     * 水仙花数
     * @return
     */
    public static int[] flower(){
        int[] nums = new int[4];
        int count = 0;
        for (int i = 100; i < 1000; i++) {
            int g = i % 10;
            int s = i / 10 % 10;
            int b = i / 100;

            if (i == Math.pow(b, 3) + Math.pow(s, 3) + Math.pow(g, 3)){
                nums[count ++] = i;
            }
        }

        return nums;
    }

    public static void test(){
        for (int i = 0; i < 100; i++) {
            if (i == 66){
                return;
            }
            System.out.println(i);
        }
    }
}
